Beim Entwickeln von komplexen dynamischen ASP.NET-Anwendungen ist es wichtig, Code-Doppelungen möglichst zu vermeiden und so die Wiederverwertbarkeit und Flexibilität der Anwendung zu verbessern. Bei einigen Anwendungen führen die Benutzer womöglich viele verschiedene Aktionen aus, die unterschiedliche Controller-Logik erfordern, aber zur selben Darstellung führen. So führt zum Beispiel die Anzeige einer Produktliste, in der Benutzer Produkte hinzuzufügen oder entfernen können, zur Anzeige derselben Produktansicht mit den modifizierten Daten, nachdem der Controller den Benutzer durch den Vorgang des Hinzufügens und Löschens geleitet hat.
Der erste Schritt in Richtung bessere Wiederverwertung besteht darin, die Codemenge an Script in Server Pages zu minimieren. Die Logik von Scripts, die in Seiten eingebettet sind, ist nur schwer oder gar nicht wiederzuverwerten und führt zu einer schlechten Trennung zwischen View und Controller. Solche Scripts sind außerdem schwieriger zu testen und zu debuggen. Statt des Hinzufügens von Scriptcode zu einer .ASPX-Seite ist es effizienter, den Controller mithilfe von Klassen zu implementieren, was für ein einheitliches Erscheinungsbild und eine ebensolche Navigation der gesamten Webanwendung sorgt und die Wiederverwendung von Präsentationslogik innerhalb der Anwendung ermöglicht.
Es gibt zwei unterschiedliche Pattern, mit denen man Controller-Klassen für ASP.NET-Anwendungen implementieren kann. Der Page Controller unterstützt das Erstellen einer Anwendung, bei der die Navigation statisch ist, aber die Seiten dynamisch erzeugt werden. Bei komplexeren Anwendungen, bei denen die Navigation dynamisch oder nach bestimmten Regeln konfigurierbar ist (zum Beispiel Benutzerberechtigungen oder Anwendungsstatus), ermöglicht der Front Controller eine effizientere Implementierung. Im Folgenden wird jedes dieser Pattern genauer beschrieben.
Neueste Kommentare
Noch keine Kommentare zu Pattern zur Wiederverwendung von Code in ASP.NET
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.